草庐IT

python GUI 与 Swing 相比?

全部标签

java - 在我的程序中为我的非图形相关类使用 swing 和 awt 类是不好的做法吗?

那么,假设我有一些游戏,例如Pong。显然,一般来说,您不想将游戏逻辑混合到图形类中,因此Ball或Paddle类与实际绘制它们的JPanel是分开的。Ball具有球的移动逻辑、当前位置、命中检测等。但是,在我的Ball类中使用Swing和awt中的图形类对我来说是不好的做法吗?例如,如果我要使用java.awt.Rectangle来确定碰撞框。尽管我没有在这个类上画它,但我正在使用它。或者如果我要使用Java.awt.Point来存储坐标。顺便说一句,我问的原因是因为我在这个网站上被多次告知不要将图形与其他部分混在一起。在非图形类中使用Rectangle:(这是不好的做法吗?)pub

java - 有没有一种简单的方法可以在获得焦点时更改 Java/Swing 控件的行为?

对于我使用过的大多数GUI,当包含文本的控件获得焦点时,控件的全部内容都会被选中。这意味着如果您刚开始输入,就会完全替换之前的内容。示例:您有一个初始化为零的旋转控件。您切换到它并键入“1”控件中的值现在是1。使用Swing,这不会发生。控件中的文本未被选中,克拉出现在现有文本的一端或另一端。继续上面的例子:对于SwingJSpinner,当您使用Tab键切换到旋转控件时,克拉位于左侧。您键入“1”,控件中的值现在为10。这让我(和我的用户)难以为继,我想改变它。更重要的是,我想全局更改它,以便新行为适用于JTextField、JPasswordField、JFormattedText

java - NetBeans(Java Swing ): Set window size

这让我发疯。当我在设计模式下为我的窗口设置一个合适的大小时,它只是忽略这个大小并在我编译和运行时使用其他东西。即使我设置了minimumSize和preferredSize它也只是忽略了这个......为什么?如何设置自己的尺寸? 最佳答案 即使您已使用minimumSize和preferredSize设置大小,您也可能忘记调用Window.pack()其中Swing将根据设置的大小调整组件(及其所有子组件)的大小。在设置所有首选尺寸后,您可以在窗口(或构建窗口的任何内容)中调用它。或者您可以使用Component.setSize(

Java Swing : Can I set a button mnemonic that doesn't require pressing alt?

例如,假设我在应用程序主窗口的顶部有一系列工具栏样式的按钮。我想将助记符附加到其中一个,这只是一个按键,比如F3。当您将助记符设置为KeyEvent.VK_F3时,用户必须按Alt+F3。如果你有一个菜单项,你可以设置一个快捷键,而不是助记符,并选择是否使用元键。但是,按钮不允许您设置加速器。有没有办法关闭按钮助记符的元键? 最佳答案 Actions可以将一大块代码绑定(bind)到菜单项、击键、按钮和您感兴趣的任何其他内容。一般来说,不要认为您的代码与特定的按键/事件相关联——也不要使用匿名内部类。而是使用真正的类,您的代码可以在

java - Swing 的 Unicode 支持的限制

不久前Iaskedaquestion试图识别某个unicode字符以用于GUI。我得到了我正在寻找的角色,但它在我正在构建的SwingGUI中不起作用。所以,SOCommunity,我向你提出了这些问题:Swing/Java对Unicode支持有哪些限制?是否有某些unicode子集是完全支持的,我在未来设计时应该避免什么?编辑:按照AlanMoore的建议应用“ArialUnicodeMS”字体后,一切似乎都清楚了。似乎很奇怪,我必须设置第3方字体才能显示所有unicode字符。 最佳答案 通常,如果字形无法在UI中正确显示,那是

Java Swing Mac OSX 首选项菜单

我正在尝试将“首选项”菜单添加到我的JavaSwing应用程序中,但事实证明这有点令人作呕。我已经阅读了很多关于这个的帖子和文章,这听起来很简单但是......我在找到的示例中看到了对com.apple.eawt.Application的引用,但是当我尝试将其导入EclipseIndigo时,出现错误:访问限制:由于所需库/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/ui.jar的限制,无法访问类型应用程序有什么想法吗?我正在使用iMacOSX10.6 最佳答案

Java Swing 保存和加载工作区/设置

我有一个JavaSwing应用程序,它包含一堆框架,而这些框架又主要包含显示大量数据的表格。由于在启动时安排所有窗口和表格总是很麻烦且耗时,我想实现“工作区”功能,以便用户可以保存偏好设置并在启动时选择自动加载存储的工作区到让所有窗口和表格都显示为以前保存的样子。具体来说,我希望存储在工作区中的设置是:Activity窗口(JFrame)及其在屏幕上的大小和位置表格设置,包括选定的列、列顺序、列宽、排序、过滤有没有人知道一个聪明而简单的方法来完成这个,而不是显而易见的,这似乎是一个非常复杂和繁琐的解决方案,遍历所有打开的窗口并使用Preferences保存每条信息。接口(interfa

java - 隐藏组件时停止 Swing 计时器

我有一个Swing计时器(javax.swing.Timer),用于在自定义Swing组件中执行一些动画。但是,这会导致问题-特别是它似乎会阻止应用程序终止,因为实时计时器线程即使在所有窗口都关闭后也是如此。当看不到动画时,避免在隐藏对象上运行计时器的开销也很好。理想情况下,我想执行以下操作:当组件被隐藏时停止计时器每当组件可见时重新开始计时这有可能做到吗(当然是以线程安全的方式!) 最佳答案 我对你的第一个前提持怀疑态度:这个简单的counter-example显示正在运行的javax.swing.Timer不排除EXIT_ON_

java - 如果常量接口(interface)反模式是一种犯罪行为,那么 Swing 为什么要这样做呢?

我正在制作一个swing应用程序,并意识到我有几个类需要访问同一组常量。我无法让自己宣布其中一个是它们的主要持有者并将它们全部放在那里并让其他人引用它;我想,嘿,我会让它们都从某个共同的地方继承,但Java不做多重继承,但我可以在事物上放置无限接口(interface)。所以我想到了将它们全部转储到一个界面中(这是真的,我没有做任何研究就自然而然地想到了)。后来才知道这是异端。“事实上,它有一个名字:常量接口(interface)反模式”-asdiscussedhere(以及替代解决方案(我选择采用))。在我查看JDialog和JFrame的源代码之前,我对此一直很好,它们是这样读的:

java - Java/Swing 中表单的声明式验证

我使用Java和Swing进行客户端开发。我喜欢Swing;我相信它是那里更好的GUI框架之一。然而,我想念的是对声明式验证的支持。喜欢thissnippet来自XForms。你知道有哪个库允许以声明的方式验证表单中的数据输入,而不是为每个组件编写丑陋的验证文档监听器吗? 最佳答案 您可以尝试JSR303BeanValidation的一种实现方式.我认为它还没有最终确定,但是有一些实现,比如HibernateValidator和AgimatecValidation.我也没有尝试过,但是通读了一些关于如何使用BeanValidatio